// 统一管理医院详情模块ts数据类型
export interface ReaponseData {
    code: number,
    message: string,
    ok: boolean
}

// 一个医院详情的ts类型
export interface HospitalDetail {
    "bookingRule": {
        "cycle": number,
        "releaseTime": string,
        "stopTime": string,
        "quitDay": number,
        "quitTime": string,
        "rule": string[]
    },
    "hospital": {
        "id": string,
        "createTime": string,
        "updateTime": string,
        "isDeleted": number,
        "param": {
            "hostypeString": string,
            "fullAddress": string
        },
        "hoscode": string,
        "hosname": string,
        "hostype": string,
        "provinceCode": string,
        "cityCode": string,
        "districtCode": string,
        "address": string,
        "logoData": string,
        "intro": string,
        "status": number,
        "bookingRule": null
    }
}
// 获取一个医院详情接口返回的数据的ts类型
export interface HospitalDetailResponseDate extends ReaponseData {
    data: HospitalDetail
}

// 代表医院一个科室的数据的ts类型
export interface Department {
    "depcode": string,
    "depname": string,
    "children"?:Department[]
}
// 代表存储科室数组的ts类型
export type DepartmentArr = Department[];
// 获取科室接口返回的数据的ts类型
export interface DepartmentResponseData extends ReaponseData{
    data: DepartmentArr
}

// 用户登录接口需要携带的参数类型
export interface LoginData {
    phone:string,
    code:string
}
// 登录接口返回用户信息数据类型
export interface UserInfo {
    name:string,
    token:string
}
// 登录接口返回的数据的ts类型
export interface UserLoginResponseData extends ReaponseData {
    data:UserInfo
}

// 定义获取微信扫码登录所需数据的ts类型
export interface WXLogin {
    "redirectUri": string,
    "appid": string,
    "scope": string,
    "state": string
}
// 定义获取微信扫码登录所需数据接口返回数据的ts类型
export interface WXLoginResponseData extends ReaponseData {
    data:WXLogin
}

// 科室的基本信息
export interface BaseMap {
    "workDateString": string,
    "releaseTime": string,
    "bigname": string,
    "stopTime": string,
    "depname": string,
    "hosname": string
}
// 科室每一天的预约信息
export interface BookingSchedule {
    "workDate": string,
    "workDateMd": string,
    "dayOfWeek": string,
    "docCount": number,
    "reservedNumber": null,
    "availableNumber": number,
    "status": number
}
// 科室预约的所有数据
export type BookingScheduleList = BookingSchedule[]
// 获取科室数据接口返回数据的类型
export interface HospitalWorkResponseData extends ReaponseData {
    data:{
        total:number,
        bookingScheduleList:BookingScheduleList,
        baseMap:BaseMap
    }
}

//代表的是一个医生的数据
export interface Doctor {
    "id": string,
    "createTime": string,
    "updateTime": string,
    "isDeleted": string,
    "param": {
        "dayOfWeek": string,
        "depname": string,
        "hosname": string
    },
    "hoscode": string,
    "depcode": string,
    "title": string,
    "docname": string,
    "skill": string,
    "workDate": string,
    "workTime": number,
    "reservedNumber": number,
    "availableNumber": number,
    "amount": number,
    "status": number,
    "hosScheduleId": string
}

//数组包含全部医生
export type DocArr = Doctor[];
//获取医生排班接口返回的数据
export interface DoctorResponseData extends ReaponseData {
    data: DocArr
}

//代表的是一个就诊人数据ts类型
export interface Visitor {
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "certificatesTypeString": string,
        "contactsCertificatesTypeString": string,
        "cityString": null,
        "fullAddress": string,
        "districtString": null,
        "provinceString": null
    },
    "userId": number,
    "name": number,
    "certificatesType": string,
    "certificatesNo": string,
    "sex": number,
    "birthdate": string,
    "phone": string,
    "isMarry": number,
    "provinceCode": null,
    "cityCode": null,
    "districtCode": null,
    "address": string,
    "contactsName": string,
    "contactsCertificatesType": string,
    "contactsCertificatesNo": string,
    "contactsPhone": string,
    "isInsure": number,
    "cardNo": null,
    "status": string
}
// 就诊人数组的类型
export type VisitorArr = Visitor[];
// 获取就诊人数据接口返回数据的数据类型
export interface VisitorResponseData extends ReaponseData {
    data: VisitorArr
}
//获取某一个挂号医生数据详情
export interface DoctorInfoData extends ReaponseData {
    data: Doctor
}